﻿#pragma once
#include <QMap>
#include <QFileInfo>
#include "AsGlobalData.h"
#include "AsMetaType.h"

class AsFileParserFactory;
class ADF_EXPORT AsFileTool :public AsGlobalData
{
public:
	AsFileTool();
	~AsFileTool();

	cv::Mat readFileToMat(const QString& filePath);//解析图片文件
	cv::Mat readFileToUMat(const QString& filePath);	//读成8U的Mat
	QImage readFileToQImage(const QString& filePath);
private:
	QMap<QString, enum FileParserType> fileTypeMap;//文件类型与解析器映射
	AsFileParserFactory* m_pParserFactory;

	void initFileTypeMap();
};
AS_DECLARE_META_TYPE(AsFileTool)